Estos modos determinan cuándo y dónde puede o no definirse una directiva de PHP, y cada directiva dentro del manual hace referencia a uno de estos modos. Por ejemplo, algunos parámetros pueden definirse dentro de un script PHP usando ini_set(), mientras que otros pueden requerir php.ini o httpd.conf.
Por ejemplo, el parámetro output_buffering es de tipo PHP_INI_PERDIR, así que no puede definirse usando ini_set(). Sin embargo, la directiva display_errors es PHP_INI_ALL, así que puede definirse en cualquier lugar, incluyendo al interior de scripts con ini_set().
| Modo | Significado |
|---|---|
| PHP_INI_USER | La entrada puede definirse en scripts de usuario (como con ini_set()) o en el registro de Windows |
| PHP_INI_PERDIR | La entrada puede definirse en php.ini, .htaccess o httpd.conf |
| PHP_INI_SYSTEM | La entrada puede definirse en php.ini o httpd.conf |
| PHP_INI_ALL | La entrada puede definirse en cualquier parte |